{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "f3b59d29-e8da-46d9-866f-0ed8bf3a1fbc",
   "metadata": {},
   "source": [
    "Chapter 19\n",
    "\n",
    "# 自适应梯度下降数值优化\n",
    "Book_3《数学要素》 | 鸢尾花书：从加减乘除到机器学习 (第二版)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "35564993-8158-4546-9683-ba04190da6b4",
   "metadata": {},
   "source": [
    "这段代码实现了**自适应学习率的梯度下降法**，通过引入累积梯度平方的动态调整机制，使学习率能够随迭代过程适应性变化。以下从数学角度详细描述代码的功能、数学公式以及可视化的意义。\n",
    "\n",
    "---\n",
    "\n",
    "### 1. **目标函数与梯度**\n",
    "\n",
    "#### 目标函数\n",
    "目标函数为一个简单的二次多项式：\n",
    "$$\n",
    "f(x) = 2x^2 - 8x + 1\n",
    "$$\n",
    "其梯度（导数）为：\n",
    "$$\n",
    "f'(x) = \\frac{d}{dx}(2x^2 - 8x + 1) = 4x - 8\n",
    "$$\n",
    "优化目标是找到函数的最小值点 $x^*$，满足：\n",
    "$$\n",
    "f'(x^*) = 0\n",
    "$$\n",
    "\n",
    "---\n",
    "\n",
    "### 2. **自适应学习率方法**\n",
    "\n",
    "#### 基本思想\n",
    "自适应学习率方法通过动态调整学习率，使优化在迭代过程中更加稳定，尤其在梯度变化较大的情况下能够自动减小步长。核心思想是利用梯度平方的累积信息来调整学习率。\n",
    "\n",
    "#### 数学公式\n",
    "1. **梯度平方累积更新**：\n",
    "   $$\n",
    "   r_t = \\beta r_{t-1} + (1 - \\beta) \\cdot [f'(x_t)]^2\n",
    "   $$\n",
    "   其中：\n",
    "   - $r_t$ 是第 $t$ 次迭代的梯度平方累积值；\n",
    "   - $\\beta$ 是动量因子，控制历史梯度平方的衰减速率；\n",
    "   - $f'(x_t)$ 是当前点的梯度。\n",
    "\n",
    "2. **动态学习率调整**：\n",
    "   $$\n",
    "   \\eta_t = \\frac{\\eta}{\\sqrt{r_t} + \\epsilon}\n",
    "   $$\n",
    "   其中：\n",
    "   - $\\eta$ 是初始学习率；\n",
    "   - $\\sqrt{r_t}$ 的引入避免了梯度过大时的爆炸；\n",
    "   - $\\epsilon$ 是小常数，用于防止分母为零。\n",
    "\n",
    "3. **梯度下降更新**：\n",
    "   $$\n",
    "   x_{t+1} = x_t - \\eta_t \\cdot f'(x_t)\n",
    "   $$\n",
    "\n",
    "#### 收敛条件\n",
    "- 当两次迭代的变量变化小于容差 $tol$ 时停止：\n",
    "  $$\n",
    "  |x_{t+1} - x_t| < tol\n",
    "  $$\n",
    "- 或达到最大迭代次数。\n",
    "\n",
    "---\n",
    "\n",
    "### 3. **实现过程**\n",
    "\n",
    "#### 自适应梯度下降函数\n",
    "`adaptive_gradient_descent_with_sqrt` 实现了上述算法。通过累积梯度平方值 $r_t$ 动态调整学习率，在每次迭代中优化更新路径。\n",
    "\n",
    "#### 参数说明\n",
    "- 初始点 $x_0 = 5$；\n",
    "- 初始学习率 $\\eta = 0.6$；\n",
    "- 动量因子 $\\beta = 0.9$。\n",
    "\n",
    "---\n",
    "\n",
    "### 4. **可视化自适应梯度下降过程**\n",
    "\n",
    "#### 可视化内容\n",
    "函数 `visualize_adaptive_gradient_descent_with_sqrt` 生成三个子图：\n",
    "1. **目标函数与迭代路径**：\n",
    "   - 蓝色曲线为目标函数 $f(x)$；\n",
    "   - 黑色叉点表示每次迭代的点 $(x_t, f(x_t))$；\n",
    "   - 红色连线显示了点的更新路径。\n",
    "\n",
    "2. **变量 $x_t$ 的变化**：\n",
    "   - 横轴为迭代次数，纵轴为 $x_t$ 的值；\n",
    "   - 曲线反映了 $x_t$ 随着迭代逐步逼近最优解 $x^*$ 的过程。\n",
    "\n",
    "3. **函数值 $f(x_t)$ 的变化**：\n",
    "   - 横轴为迭代次数，纵轴为 $f(x_t)$；\n",
    "   - 曲线展示了目标函数值逐渐减小并收敛到最小值的趋势。\n",
    "\n",
    "#### 自适应学习率的效果\n",
    "- 在梯度较大的区域，自适应学习率方法通过减小步长避免了不稳定的震荡；\n",
    "- 随着梯度逐渐减小，步长逐步增大，使得优化更高效。\n",
    "\n",
    "---\n",
    "\n",
    "### 5. **测试与结果**\n",
    "\n",
    "#### 理论解\n",
    "目标函数的解析解为：\n",
    "$$\n",
    "x^* = \\frac{-b}{2a} = \\frac{8}{4} = 2\n",
    "$$\n",
    "对应的最小值为：\n",
    "$$\n",
    "f(x^*) = 2(2)^2 - 8(2) + 1 = -7\n",
    "$$\n",
    "\n",
    "#### 实际结果\n",
    "代码运行结果：\n",
    "- 自适应梯度下降找到的最优点 $x^* \\approx 2$；\n",
    "- 对应的最小值 $f(x^*) \\approx -7$。\n",
    "\n",
    "结果与理论值完全一致。\n",
    "\n",
    "---\n",
    "\n",
    "### 6. **总结与应用**\n",
    "\n",
    "#### 自适应学习率的优势\n",
    "- 在梯度变化较大的区域能够自动调整步长，避免了过大的步长导致的发散；\n",
    "- 避免了学习率 $\\eta$ 需要手动调整的问题。\n",
    "\n",
    "#### 应用场景\n",
    "自适应梯度下降方法广泛应用于：\n",
    "- 深度学习优化算法（如 Adagrad、RMSProp 等）；\n",
    "- 非凸优化问题；\n",
    "- 高维复杂模型的参数调整。\n",
    "\n",
    "#### 可视化的意义\n",
    "通过动态展示迭代路径和收敛行为，可以直观地观察优化过程中学习率的调整效果及其对更新路径的影响。这种自适应方法是机器学习优化领域的重要工具之一。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "960f5cc9-1e84-44cd-b800-2c1918b92047",
   "metadata": {},
   "source": [
    "## 导入包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "1cbb0b42-a541-47ac-89a3-ebda444293fa",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sympy import symbols, diff, lambdify"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f29deb1e-1762-4012-9be9-735400d780ae",
   "metadata": {},
   "source": [
    "## 目标函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "498996ab-554c-4d2c-b1a9-e890faff9f61",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 2 x^{2} - 8 x + 1$"
      ],
      "text/plain": [
       "2*x**2 - 8*x + 1"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = symbols('x')\n",
    "func = 2*x**2 - 8*x + 1\n",
    "func"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "8253c527-225d-4a3e-bc3b-0dd69206cd3e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 4 x - 8$"
      ],
      "text/plain": [
       "4*x - 8"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grad = diff(func, x)  # 计算函数的一阶导数\n",
    "grad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "f51f6ce3-bf2a-488a-b4b1-03224c7a90ce",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将函数和梯度转换为 Python 可执行函数\n",
    "f = lambdify(x, func, 'numpy')\n",
    "grad_f = lambdify(x, grad, 'numpy')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d927aa6e-06da-405e-b40e-ac41410733b1",
   "metadata": {},
   "source": [
    "## 自适应学习率方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "6c4c612b-1910-4028-8305-9daf844c3593",
   "metadata": {},
   "outputs": [],
   "source": [
    "def adaptive_gradient_descent_with_sqrt(f, grad_f, x0, learning_rate=0.1, beta=0.9, epsilon=1e-8, max_iter=50, tol=1e-6):\n",
    "    x_vals = [x0]\n",
    "    r_t = 0  # 初始化累积的梯度平方值\n",
    "    for _ in range(max_iter):\n",
    "        grad_val = grad_f(x_vals[-1])  # 当前点的一阶导数\n",
    "        r_t = beta * r_t + (1 - beta) * (grad_val**2)  # 累积梯度平方值\n",
    "        adjusted_lr = learning_rate / (np.sqrt(r_t) + epsilon)  # 动态调整学习率\n",
    "        x_new = x_vals[-1] - adjusted_lr * grad_val  # 按调整后的学习率更新位置\n",
    "        x_vals.append(x_new)\n",
    "        if abs(x_new - x_vals[-2]) < tol:  # 如果变化小于容差，停止迭代\n",
    "            break\n",
    "    return x_vals"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f18a8931-b9cc-4318-b868-7650e5874b30",
   "metadata": {},
   "source": [
    "## 可视化自适应学习率过程和收敛"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "5a388395-ec9a-4228-9f4b-73ee53320e39",
   "metadata": {},
   "outputs": [],
   "source": [
    "def visualize_adaptive_gradient_descent_with_sqrt(f, x_vals):\n",
    "    x = np.linspace(-1, 5, 500)  # 设置绘图范围\n",
    "    y = f(x)\n",
    "\n",
    "    # 获取收敛的函数值和对应的最小值点\n",
    "    f_vals = [f(val) for val in x_vals]\n",
    "    iterations = np.arange(len(x_vals))\n",
    "\n",
    "    # 创建图像，分三行一列\n",
    "    fig, axs = plt.subplots(3, 1, figsize=(8, 6), \n",
    "                            height_ratios=[2, 1, 1],\n",
    "                            constrained_layout=True)\n",
    "\n",
    "    # 图1：目标函数及梯度下降过程\n",
    "    axs[0].plot(x, y, label=\"f(x)\", color=\"blue\")\n",
    "    axs[0].scatter(x_vals, f_vals, color=\"k\", marker = 'x', label=\"Iterations\")\n",
    "    axs[0].plot(x_vals, f_vals, linestyle=\"-\", color=\"red\", alpha=0.6)\n",
    "    axs[0].set_title(\"Gradient Descent Optimization\")\n",
    "    axs[0].set_xlabel(\"x\")\n",
    "    axs[0].set_ylabel(\"f(x)\")\n",
    "    axs[0].set_xlim(-1,5)\n",
    "    axs[0].legend()\n",
    "    axs[0].grid(True)\n",
    "\n",
    "    # 图2：收敛过程中最小值点的变化\n",
    "    axs[1].plot(iterations, x_vals, marker=\"x\", label=\"x value\", color=\"green\")\n",
    "    axs[1].set_xlabel(\"Iteration\")\n",
    "    axs[1].set_ylabel(\"Optimized x\")\n",
    "    axs[1].set_xlim(iterations.min(),iterations.max())\n",
    "    axs[1].set_xticks(np.arange(0, iterations.max(), 2))\n",
    "    axs[1].legend()\n",
    "    axs[1].grid(True)\n",
    "\n",
    "    # 图3：收敛过程中最小值点的变化\n",
    "    axs[2].plot(iterations, f_vals, marker=\"x\", label=\"f(x)\", color=\"blue\")\n",
    "    axs[2].set_xlabel(\"Iteration\")\n",
    "    axs[2].set_ylabel(\"Optimized min of f(x)\")\n",
    "    axs[2].set_xlim(iterations.min(),iterations.max())\n",
    "    axs[2].set_xticks(np.arange(0, iterations.max(), 2))\n",
    "    axs[2].legend()\n",
    "    axs[2].grid(True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3b8b38a9-0572-4634-bfe7-97fffb6e3988",
   "metadata": {},
   "source": [
    "## 测试自适应学习率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "8d9df929-a7f8-47a4-93b3-f0182929670e",
   "metadata": {},
   "outputs": [],
   "source": [
    "x0 = 5  # 初始点\n",
    "learning_rate = 0.6\n",
    "x_vals = adaptive_gradient_descent_with_sqrt(f, grad_f, x0, learning_rate)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "81f56284-dbd3-46a9-9fa2-47cf13b83271",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "自适应学习率（带开根号）找到的最小值点: 2.0000000092063397\n",
      "最小值: -7.0\n"
     ]
    }
   ],
   "source": [
    "print(f\"自适应学习率（带开根号）找到的最小值点: {x_vals[-1]}\")\n",
    "print(f\"最小值: {f(x_vals[-1])}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "81a667de-df9a-4ba1-8698-d67824e5fd9f",
   "metadata": {},
   "source": [
    "## 可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "64582397-f9c7-44ea-912e-d37805fa7567",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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J7Fj1M3d1dasWXPL7+Hw4cNWSEiI5efnZwF37I6V6NKlS9aYMWOsihUrWt7e3pa3t7dVvnx5a9SoUck6cyVKPGeTJk2yihYtarm7u1slS5a0vv3221vuO3HiRKtw4cKWq6trso5Zt+sGdvNzIbHT1rvvvpviz554XlLaZ7169ZI9B2683Pjc+vrrr60SJUpYnp6eVpEiRayxY8daX3311S3d5273u02pG5hlme5jDRs2tHx8fKwsWbJYjzzyiPXzzz8nu09qzq2IZB42y7rNuLyIiIjckc1mo1+/fkkjRCIiYl+qWRERERERkTRJyYqIiIiIiKRJKrAXERG5R5pJLSLiWBpZERERERGRNEnJioiIiIiIpElKVkREREREJE3KVDUrCQkJHD9+HD8/Py1CJSIiIiLyAFiWRXR0NHnz5sXFJXVjJZkqWTl+/DjBwcHODkNEREREJNOJiIggf/78qXpMpkpW/Pz8AAgPDyd79uxOjkYcKTY2luXLlxMSEoK7u7uzwxEH0rnOPHSuMwed58xD5zrzOH/+PIULF076LJ4amSpZSZz65efnh7+/v5OjEUeKjY3F29sbf39/vQBmcDrXmYfOdeag85x56FxnHrGxsQD3VIahAnsREREREUmTlKyIiIiIiIhdRUZGcuzYsfvej5IVERERERGxm8jISJo1a0a9evWIiIi4r30pWREREREREbuJjo7m9OnTHDp0iPr163P8+PF73peSFRERERERsZv8+fMTGhpKkSJFOHToEB06dLjnfSlZERERERERuwoODjYJS+HCBB8oec/7yZTJypQpmfLHFhERERF5YIL9/ZlYpAuPJtz7+oaZ8lP7oEGuTJni7ChERERERDKoHTvY0vYNjq86TSz3vo5OploU8ka9eoGnJ3Tp4uxIREREREQyiNhYmDOHPZ8uJewXD45RgFn+WSDq3naXKUdWevSIx7Kge3eYO9fZ0YiIiIiIZADHjsGYMeybvJR1v3iwkhA+9nmI2eua3vMuM+XIyrvvJmCzwdSp0LkzzJsHjz7q7KhERERERNIhy4I1a2DuXCLC41j0S06+4imO+Bxk165K+Pl53/OuM+XIiosLfPklPPGEGal67DFYvtzZUYmIiIiIpDNRUfDJJzBrFseOxPH+inK8nfA2D7Upzq5dlSlUKPi+dp8pR1YAXF3hm2/g+nUzstK2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",
      "text/plain": [
       "<Figure size 800x600 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize_adaptive_gradient_descent_with_sqrt(f, x_vals)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
